package com.abiao.shop.controller;

import com.abiao.shop.result.Result;
import com.abiao.shop.service.UserService;
import com.abiao.shop.vojo.LoginVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
/**
 * @Description: LoginController    登录控制
 * 提示：本项目是基于电商平台的活动页面，本身不提供注册功能
 * 可使用测试用户登录：username：123 password：123
 * 也可以使用 UserUtil 里面的方法生产测试用户
 * 清除用户购物记录步骤：1.清除数据库的订单数据 2.运行 redisTest 重置缓存 3.（可选）重启项目
 * @Author: AB
 * @Date: 2021-07-09
 * @Version:v1.0
 */
@Slf4j
@Controller
public class LoginController {

    @Autowired
    UserService userService;

    //初始页面跳转
    @RequestMapping("")
    public  String index(Model model){
        return "login";
    }

    //登录
    @PostMapping("/do_login")
    @ResponseBody
    public Result<?> userLogin(HttpServletResponse response, @Valid  LoginVo loginVo){
        log.info(loginVo.toString());
        String token = userService.login(response, loginVo);
        return Result.success(token);
    }


}
